package com.neu.credit.creditscore.entity.hospital;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.math.BigDecimal;
import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
@Schema(name = "medical_fees", description = "费用信息表")
@TableName("medical_fees")
public class Fees {

    @Schema(description = "费用ID，自增主键")
    @TableId(value = "fee_id", type = IdType.AUTO)
    private Integer id;

    @Schema(description = "预约ID")
    private Integer appointmentId;

    @Schema(description = "检查费用")
    private BigDecimal examinationFee;

    @Schema(description = "药品费用")
    private BigDecimal drugFee;

    @Schema(description = "诊疗费用")
    private BigDecimal diagnosisFee;

    @Schema(description = "总费用")
    private BigDecimal totalFee;

    @Schema(description = "折扣金额")
    private BigDecimal discount;

    @Schema(description = "实际支付金额")
    private BigDecimal actualPayment;

    @Schema(description = "支付状态（0-未支付，1-已支付）")
    private Integer paymentStatus;

    @Schema(description = "创建时间")
    private LocalDateTime createdAt;

    @Schema(description = "更新时间")
    private LocalDateTime updatedAt;

    @Override
    public String toString() {
        return "Fees{" +
                "id=" + id +
                ", appointmentId=" + appointmentId +
                ", examinationFee=" + examinationFee +
                ", drugFee=" + drugFee +
                ", diagnosisFee=" + diagnosisFee +
                ", totalFee=" + totalFee +
                ", discount=" + discount +
                ", actualPayment=" + actualPayment +
                ", paymentStatus=" + paymentStatus +
                ", createdAt=" + createdAt +
                ", updatedAt=" + updatedAt +
                '}';
    }
}